ATM bonding is a well known process which is used to achieve a high bandwidth by combining separate channels of lower bandwidth. Multiple independent channels may be aggregated (bonded) across an ATM network to create one higher rate channel. High rate channels are becoming increasingly required for high data rate applications like video delivery.
The ATM bonding may be achieved by inverse multiplexing over ATM (IMA or IMA+). Essentially the process is as follows. On the transmitting side, outgoing ATM traffic enters the inverse multiplexer and is spread over the plurality of data channels using a bonding protocol (e.g. round robin method). On the receiving side, for traffic incoming on the plurality of data channels, the inverse multiplexer combines the data on the separate channels into ATM traffic for moving towards the higher layer protocols.
Note that IMA+ works in a similar way to IMA but is a recent development which somewhat simplifies IMA functions. Throughout the specification, when the term IMA is used, it should be understood that IMA+ may equally apply.
As is well known, synchronization must be handled carefully with ATM bonding. Firstly, the inverse multiplexer at the receiving end must recombine the incoming traffic in the same order in which the inverse multiplexer on the transmitting end sent the traffic over the separate lines, so that the resulting ATM data stream is an exact replica of the original ATM data stream. In addition, since different pieces of incoming data will have traveled over different lines, different delays may be encountered and the inverse multiplexer on the receiving end must take account of this when recombining the incoming traffic.
The plurality of channels used for the lowest layer protocol are typically xDSL channels. ATM bonding over xDSL is challenging because several xDSL channels must be combined into one common ATM layer, which involves ATM cell aggregation and cell splitting. ATM QoS should, meanwhile, be maintained.
FIG. 1 shows a known way to realize ATM bonding. In this example, there are four xDSL channels bonded across a single ATM network. Incoming xDSL traffic on lines 101a, 101b, 101c and 101d is received by xDSL chips 103a, 103b, 103c and 103d respectively. Each xDSL chip 103a, 103b, 103c, 103d is connected to a network processor 105 via a UTOPIA interface 107. A UTOPIA interface is a well-known interface commonly used in ATM networks and need not be described further. The network processor transmits and receives data through an Ethernet (or similar) interface.
In the arrangement of FIG. 1, the xDSL chips 101a, 101b, 101c and 101d implement only the lowest PHY layer of the ATM protocol. That is, each xDSL chip simply receives incoming data on its xDSL line and sends it to the network processor, or receives data from the network processor and sends it out over its xDSL line. The ATM bonding layer (i.e. the combining of separate pieces of incoming data, from the xDSL lines, into one ATM data stream) as well as all higher layer protocols (including the ATM layer and AAL5 layer) are implemented by the network processor 105.
Thus, in the arrangement of FIG. 1, the network processor 105 handles the bonding protocol as well as all the networking functionalities, such as network access and routing. This means that the massive processing power of the network processor is largely occupied by the bonding, which means that the network processor is heavily overloaded and the resources are not well optimized. In addition, xDSL chips with a UTOPIA interface are becoming are becoming less and less available. Also, the UTOPIA interface provides limited scalability and, because the UTOPIA interface does not contain control protocol, data and control functions need to be split. In addition, UTOPIA only supports one master on the bus system.